부록. 결합 관련 용어 사전 + 복습문제 공식 답안
출처: 『소프트웨어 설계의 결합 균형』(블라드 코노노프 지음, 장연호 옮김, 제이펍 2026) | 공식: https://www.jpub.kr/ 원서 Appendix B "결합 관련 용어" + Appendix C "복습 문제 해답"
이 부록은 두 역할을 한다. 첫째, 책 전체에서 사용된 결합 관련 용어를 저자 정의로 집대성한 공식 사전(Appendix B)이다. 둘째, 2~12장 복습문제의 저자 공식 객관식 답안을 모아 자기 점검에 활용할 수 있는 참조 자료(Appendix C)다.
학습 목표
이 부록을 끝내면 다음을 할 수 있다.
- 결합 관련 용어 20여 개를 저자 공식 정의로 설명한다.
- 5장, 7장, 8장의 세부 결합 유형들이 책의 균형 모델에서 어떻게 위치하는지 연결한다.
- 각 장 복습문제를 먼저 직접 풀고 저자 공식 답안과 비교한다.
- 틀린 문제의 오답 원인을 개념 미숙지·용어 혼동·논리 오류로 분류한다.
- 틀린 문항에 대응하는 챕터·절을 찾아 재학습 경로를 스스로 설계한다.
전체 흐름도
[ 이 부록의 두 역할 ]
|
+--- Appendix B: 결합 관련 용어 사전 ---+
| (20여 개 용어 저자 공식 정의) |
| v
| [ 핵심 용어 매핑 ]
| 강도 축: 침입/기능/모델/계약
| 거리 축: 개발/런타임/수명주기
| 복잡성 축: 지역/전역
|
+--- Appendix C: 복습 문제 해답 ----------+
(2~12장 객관식 공식 답안) |
v
[ 자기 점검 사이클 ]
직접 풀기 → 채점 → 오답 원인 분류
→ 해당 챕터 재학습 → 3~7일 후 재시도
0. 사전 필수 용어
- 객관식 (Multiple Choice) — 선택지 중 정답을 고르는 형식. 인식(recognition) 기억을 테스트한다.
- 서술형 (Free Recall) — 빈칸 없이 스스로 답을 끄집어내는 형식. 회상(retrieval) 기억을 테스트한다.
- 자기 점검 (Self-Assessment) — 학습 후 스스로 이해 수준을 확인하는 절차. 메타인지 향상에 효과적.
- spaced repetition(간격 반복) — 오답 항목을 일정 간격으로 재시도해 장기 기억에 정착시키는 학습 기법.
- 오답 원인 분류 — 틀린 이유를 개념 미숙지, 용어 혼동, 논리 오류로 나눠 재학습 방향을 다르게 한다.
1. Appendix B — 결합 관련 용어 사전 (저자 공식 정의)
이 섹션은 책 Appendix B의 저자 공식 정의를 장 연결 맥락과 함께 정리한다.
1.1 핵심 개념 — 결합·복잡성·모듈성
결합 (Coupling)
시스템 설계의 필수적인 측면으로, 시스템 구성요소가 함께 작동하여 포괄적인 시스템의 목표를 달성할 수 있도록 한다. 결합은 구성요소가 서로에 대한 지식을 공유하고 수명주기를 공유해야 하는 결과를 낳는다. 결합의 규모가 클수록 결합된 구성요소가 함께 변경되어야 할 가능성이 높아진다. (p252)
결합을 평가하려면 세 가지 차원(강도, 거리, 변동성)을 검사해야 한다. 이러한 힘의 조합은 모듈성이나 복잡성을 증가시킬 수 있기 때문이다.
모듈성 (Modularity)
시스템 설계가 미래 목표를 지원할 수 있는 능력, 시스템의 기능적 요구사항에 대한 합리적인 변경을 구현하는 데 필요한 인지 부하를 최소화하는 것이 목표다. 모듈식 설계는 시스템의 필수적인 복잡성을 관리하고 우발적인 복잡성을 제거하는 것을 수반한다. (p253~254)
복잡성 (Complexity)
시스템을 사용하는 동안 사람이 경험하는 인지 부하. 소프트웨어 설계의 맥락에서 복잡성은 시스템을 변경하거나 구조와 의도된 동작을 이해하는 데 필요한 인지 부하다. 균형 잡힌 결합 모델은 복잡성을 통합 강도와 거리 사이의 대칭 관계로 정의한다. (p254)
- 지역 복잡성: 관련 없는 기능(낮은 강도)을 함께 패키징(가까운 거리)
- 전역 복잡성: 관련 구성요소(높은 강도)를 먼 거리에 분산
COMPLEXITY = NOT (STRENGTH XOR DISTANCE)
GLOBAL COMPLEXITY = STRENGTH AND DISTANCE
LOCAL COMPLEXITY = NOT STRENGTH AND NOT DISTANCE
균형 잡힌 결합 (Balanced Coupling)
결합의 세 가지 차원(강도, 거리, 변동성)의 최적 상태를 말하며, 설계가 시스템의 변동성 있는 구성요소의 모듈성을 증가시킨다. 이진 척도(낮음 또는 높음)에서 결합의 균형은 다음 방정식을 사용하여 평가된다. (p253)
BALANCE = (STRENGTH XOR DISTANCE) OR NOT VOLATILITY
응집력 (Cohesion)
구성요소 내의 요소들이 서로 관련되어 있고 잘 정의된 단일 목적을 달성하기 위해 함께 작동하는 정도. 결합 균형 모델에서 응집력은 높은 통합 강도와 가까운 거리의 조합으로 표현된다. (p255)
공생성 (Connascence)
시스템의 여러 부분 간의 종속성을 평가하기 위한 모델로, 한 부분의 변경은 다른 부분의 변경을 필요로 한다. 정적 공생성은 컴파일 시 관계를 반영하는 반면, 동적 공생성은 실행 시 종속성을 설명한다. (p252)
균형 잡힌 결합 모델에서 공생성은 통합 강도 수준의 정도를 설명하는 데 사용된다. 정적 공생성은 계약 및 모델 결합 수준에, 동적 공생성은 부분적으로 기능 결합의 정도를 설명한다.
커네빈 (Cynefin)
다양한 상황에 대한 문제 해결 접근 방식을 정의하는 의사결정 프레임워크. 커네빈은 행동과 결과 간의 관계를 사용하여 의사결정자가 직면한 과제의 본질을 구분한다. (p256)
변동성 (Volatility)
구성요소의 예상 변화율을 반영한다. 내부 변동성은 구성요소의 비즈니스 요구사항 변경으로 인해 발생한다. 외부 변동성은 주어진 구성요소가 종속된 상위 구성요소가 변경되는 것으로 인해 발생한다. (p254)
균형 잡힌 결합 모델은 변동성을 사용하여 설계에 실용주의를 도입한다. 상위 구성요소의 변동성이 낮은 한 모듈성 부족을 용인할 수 있다.
1.2 거리 관련 용어
거리 (Distance)
결합된 구성요소를 넘어 공간 지식이 이동하는 범위. 결합된 구성요소에 영향을 미치는 변경을 구현하는 데 필요한 조정 및 커뮤니케이션 노력에 영향을 미친다. (p251)
거리는 여러 가지 기술적·사회적 요인의 영향을 받는다. - 추상화 수준 (Level of Abstraction): 소스 코드의 물리적 위치가 연쇄적 변경 노력에 영향 - 런타임 결합 (Runtime Coupling): 동시에 도입할 필요가 없으면 조정 노력이 줄어든다 - 조직 구조 (Organization Structure): 구성요소의 소유권이 협업 노력에 영향
개발 결합 (Development Coupling)
소프트웨어 개발 프로세스 동안 구성요소 간의 상호 의존성을 설명한다. 한 구성요소의 변경이 다른 구성요소의 개발, 테스트, 배포에 영향을 미치게 한다. 가까운 거리는 구성요소가 지식을 공유하지 않더라도 개발 결합을 초래한다. (p251)
런타임 결합 (Runtime Coupling)
한 구성요소가 다른 구성요소 없이는 작동할 수 없는 운영 종속성. 한 구성요소의 가용성은 다른 구성요소의 가용성에 따라 달라진다. 이러한 관계는 높은 수명주기 결합을 나타내며, 결과적으로 구성요소 간의 거리를 효과적으로 줄인다. (p253)
수명주기 결합 (Lifecycle Coupling)
높은 수준의 수명주기 결합을 공유하는 구성요소는 함께 구현, 테스트, 배포되어야 한다. 결합된 구성요소 간의 거리는 수명주기 결합에 반비례한다. 거리가 짧을수록 수명주기 결합도가 높아진다. (p254~255)
설계 시간 결합 (Design-Time Coupling)
개발의 설계 단계에서 확립된 종속성. 통합 강도 모델의 수준은 이러한 종속성을 반영한다. 공유된 지식의 범위가 클수록 설계 시간 결합이 더 높아진다. (p254)
1.3 강도 관련 용어 — 통합 강도 4수준
통합 강도 (Integration Strength)
결합된 구성요소가 공유하는 지식의 유형과 범위를 평가하기 위한 모델. 통합 강도는 구조화된 설계의 모듈 결합 수준을 조정하여 계약, 모델, 기능, 침입 결합이라는 네 가지 종류의 지식을 구별한다. (p256)
계약 결합 (Contract Coupling)
통합 특화 모델(계약)을 공유하여 구성요소를 통합. 통합 계약은 상위 구성요소에서 내부적으로 사용되는 모델의 세부 정보를 추상화한다. (p252)
모델 결합 (Model Coupling)
비즈니스 도메인의 공유 모델을 사용하여 여러 구성요소를 통합하는 통합. 모델의 진화는 모든 모델 결합 구성요소의 변경을 필요로 한다. (p253)
기능 결합 (Functional Coupling)
밀접하게 관련된 비즈니스 기능을 구현하는 구성요소에 대한 통합 강도 모델의 수준. 비즈니스 요구사항의 변경은 기능적으로 결합된 구성요소에 영향을 미칠 가능성이 매우 높다. (p253)
침입 결합 (Intrusive Coupling)
통합을 위해 의도되지 않은 상위 구성요소의 비공개 인터페이스나 기타 구현 세부 정보를 사용하여 통합한다. 이러한 통합 방법은 하위 구성요소를 상위 구성요소의 모든 향후 변경사항에 민감하게 만든다. (p256)
1.4 강도 관련 용어 — 모듈 결합 6수준
구조적 설계 (Structured Design)
1960년대 후반에 개발된 모듈식 소프트웨어 시스템 설계 방법론. 결합과 응집의 개념을 강조했다. 시스템 구성요소 간의 상호 의존성을 관리하는 데 도움이 되는 모듈 결합 모델을 도입했다. (p252)
모듈 결합 (Module Coupling)
구조적 설계 방법론에 도입된 결합을 평가하기 위한 모델. 데이터, 스탬프, 제어, 외부, 공통, 콘텐츠 결합이라는 6가지 수준의 상호 연결성으로 구성된다. (p253)
통합 강도 모델의 네 가지 기본 수준은 모듈 결합을 기반으로 하지만, 용어를 압축하고 현대 소프트웨어 시스템의 맥락에 맞게 조정한다.
| 모듈 결합 수준 | 설명 |
|---|---|
| 콘텐츠 결합(content coupling) | 다른 구성요소의 내부 데이터 또는 작동에 대한 접근/수정. 가장 위험. |
| 공통 결합(common coupling) | 공통 메모리 공간에 대한 공유 접근. 스키마와 저장 유효 데이터 공유. |
| 외부 결합(external coupling) | 제어 범위를 벗어난 전역 변수 또는 외부 시스템을 통해 데이터 교환. |
| 제어 결합(control coupling) | 한 구성요소가 다른 구성요소의 동작을 제어하는 통합 시나리오. |
| 스탬프 결합(stamp coupling) | 데이터 구조나 전체 객체를 전달하여 통신. 필요 이상의 정보 공유. |
| 데이터 결합(data coupling) | 불필요한 데이터가 공유되지 않도록 보장하는 데이터 교환. 가장 안전. |
1.5 기타 결합 유형
순차적 결합 (Sequential Coupling)
메서드, 클래스 또는 기타 구성요소를 특정 순서로 호출해야 할 때 발생한다. 순차적 관계는 특정 실행 순서와 실행 간의 특정 기간으로 정의할 수 있다. 균형 잡힌 결합 및 통합 강도의 맥락에서 순차적 결합은 기능 결합 수준의 하위 수준이다. (p255)
시간적 결합(temporal coupling)이라고도 한다.
트랜잭션 결합 (Transactional Coupling)
여러 구성요소가 단일 트랜잭션에 관련되어 모든 구성요소가 성공적으로 완료되거나 원자 단위로 실패해야 하는 경우 발생한다. 트랜잭션 결합은 기능 결합 수준의 정도다. (p256)
의미 결합 (Semantic Coupling)
소프트웨어 구성요소가 교환하는 데이터의 공통된 의미와 해석을 할당하는 데서 발생한다. 통합 강도 모델의 모델 결합 수준과 계약 결합 수준은 모두 서로 다른 수준의 의미 결합을 반영한다. (p255)
구심 결합 (Afferent Coupling)
객체 지향 설계에서 주어진 클래스에 의존하는 클래스 수를 나타내는 지표. 결합 균형 모델에서 구심 결합은 구성요소가 지식을 공유하는 하위 구성요소의 수다. (p252)
추출 결합 (Efferent Coupling)
객체 지향 설계에서 주어진 클래스가 의존하는 클래스 수를 나타내는 지표. 결합 균형 모델에서 추출 결합은 주어진 구성요소와 지식을 공유하는 상위 구성요소의 수다. (p256)
병리학적 결합 (Pathological Coupling)
콘텐츠 결합과 동의어다. (p254)
2. Appendix C — 복습 문제 해답 (저자 공식 답안)
원본 추출: 부록 p257~260 (Appendix C)
사용법
이 부록을 어떻게 읽을 것인가:
| 구분 | 위치 | 형식 | 목적 |
|---|---|---|---|
| 각 챕터 study_notes.md 부록 D | 챕터별 파일 | 서술형 풀이 | 개념 재구성 훈련 |
| 이 부록 (저자 공식 답안) | 본 파일 | 객관식 a/b/c/d/e/f | 빠른 자기 점검 |
두 가지는 다른 문제다. 먼저 책 원문 복습문제를 스스로 풀고, 이 부록으로 채점한 뒤, 오답은 챕터 study_notes로 돌아가 개념을 정리한다.
추천 절차: 1. 해당 챕터 끝까지 읽기 2. 책 원문 복습문제를 덮고 직접 풀기 (약 15분) 3. 이 부록에서 채점 4. 오답 번호를 기록하고 원인 분류 (개념 / 용어 / 논리) 5. 오답과 연결된 챕터 절 재독 6. 3~7일 후 flashcard 및 재시도
챕터별 공식 답안표
1장 '결합과 시스템 설계'
OCR 원문 추출 결과, 1장 답안도 Appendix C에 수록됐다(p257).
| 문항 | 답안 |
|---|---|
| 문제 1 | b |
| 문제 2 | c |
| 문제 3 | d |
2장 '결합과 복잡성: 커네빈'
| 문항 | 답안 |
|---|---|
| 문제 1 | b |
| 문제 2 | c |
| 문제 3 | b |
| 문제 4 | b |
| 문제 5 | c |
3장 '결합과 복잡성: 상호작용'
| 문항 | 답안 |
|---|---|
| 문제 1 | c |
| 문제 2 | d |
| 문제 3 | b |
| 문제 4 | c |
| 문제 5 | d |
4장 '결합과 모듈성'
| 문항 | 답안 |
|---|---|
| 문제 1 | d |
| 문제 2 | c |
| 문제 3 | a |
| 문제 4 | d |
| 문제 5 | c |
5장 '구조적 설계의 모듈 결합'
| 문항 | 답안 |
|---|---|
| 문제 1 | c |
| 문제 2 | b |
| 문제 3 | b |
| 문제 4 | d |
6장 '공생성'
| 문항 | 답안 |
|---|---|
| 문제 1 | b |
| 문제 2 | d |
| 문제 3 | b |
| 문제 4 | d |
7장 '통합 강도'
| 문항 | 답안 |
|---|---|
| 문제 1 | f |
| 문제 2 | e |
| 문제 3 | e |
| 문제 4 | d |
| 문제 5 | a |
| 문제 6 | b |
| 문제 7 | d |
| 문제 8 | b |
| 문제 9 | b |
| 문제 10 | d |
8장 '거리'
| 문항 | 답안 |
|---|---|
| 문제 1 | a |
| 문제 2 | d |
| 문제 3 | b |
| 문제 4 | b |
| 문제 5 | a |
| 문제 6 | d |
9장 '변동성'
| 문항 | 답안 |
|---|---|
| 문제 1 | d |
| 문제 2 | a |
| 문제 3 | e |
| 문제 4 | d |
10장 '결합 균형'
| 문항 | 답안 |
|---|---|
| 문제 1 | e |
| 문제 2 | b |
| 문제 3 | a |
| 문제 4 | d |
11장 '결합 재조정'
| 문항 | 답안 |
|---|---|
| 문제 1 | b |
| 문제 2 | d |
| 문제 3 | c |
| 문제 4 | c |
12장 '소프트웨어 설계의 프랙털 기하학'
| 문항 | 답안 |
|---|---|
| 문제 1 | c |
| 문제 2 | d |
| 문제 3 | a |
| 문제 4 | d |
| 문제 5 | d |
13장 '균형 잡힌 결합 구현'
책 원문 명시: "이 장은 책의 내용을 요약하는 것이 목적이었기 때문에 이번에는 복습 문제가 없다."
14장 이후
Appendix C에 14장 답안은 수록되지 않음.
3. 오답에 대한 재학습 경로
오답이 발생했을 때 어느 챕터의 어느 절을 다시 봐야 하는지:
| 오답 챕터 | 오답 유형 | 재학습 권장 절 |
|---|---|---|
| 2장 (커네빈) | 도메인 분류 혼동 | 2장 §2.1~2.4 커네빈 5개 도메인 |
| 3장 (상호작용) | 복잡성 정의 혼동 | 3장 §3.1 지역/전역 복잡성 |
| 4장 (모듈성) | 모듈 정의·속성 혼동 | 4장 §4.1~4.2 모듈의 기본 속성 |
| 5장 (모듈 결합) | 결합 수준 분류 혼동 | 5장 §5.1~5.4 콘텐츠~데이터 결합 |
| 6장 (공생성) | 공생성 수준 혼동 | 6장 §6.2~6.4 공생성 수준 비교 |
| 7장 (통합 강도) | 결합 유형 4가지 혼동 | 7장 §7.3~7.6 계약/모델/기능/침입 |
| 8장 (거리) | 거리 유형 혼동 | 8장 §8.2~8.5 거리의 차원 |
| 9장 (변동성) | 변동성 추론 혼동 | 9장 §9.2~9.5 변동성 분석 |
| 10장 (결합 균형) | 균형 모델 혼동 | 10장 §10.3~10.4 결합 균형 매트릭스 |
| 11장 (결합 재조정) | 재조정 전략 혼동 | 11장 §11.2~11.4 재조정 패턴 |
| 12장 (프랙털) | 프랙털 원리 혼동 | 12장 §12.1~12.4 프랙털 모듈성 |
핵심 개념 정리
| 개념 | 한 줄 설명 |
|---|---|
| Appendix B 구성 | 책 전체 결합 관련 용어 20여 개의 저자 공식 정의 모음 |
| Appendix C 구성 | 책 1~12장 객관식 복습문제의 저자 공식 답안. 13장은 무문제 |
| 자기 점검 사이클 | 풀기 → 채점 → 오답 분류 → 재학습 → 3~7일 후 재시도 |
| 객관식의 한계 | 인식 기억만 확인. 서술형 설명 불가 시 진짜 이해 아님 |
| 통합 학습 전략 | 이 부록 + 각 챕터 flashcard + spaced repetition 3박자 |
| 용어 사전 활용법 | 책 읽다가 용어가 헷갈리면 이 부록의 §1.1~1.5에서 저자 정의 확인 |
실무 체크리스트
- [ ] 각 챕터 복습문제를 먼저 직접 풀고 이 부록으로 채점했는가?
- [ ] 틀린 문항을 오답 노트에 기록하고 원인(개념/용어/논리)을 분류했는가?
- [ ] 오답과 연결된 챕터 절을 재독하고 flashcard에 오답 항목을 추가했는가?
- [ ] 3~7일 후 오답 항목만 다시 시도(spaced repetition)했는가?
- [ ] 객관식에서 맞힌 문항도 서술형으로 설명할 수 있는지 확인했는가?
- [ ] 용어 혼동이 있을 때 이 부록 §1의 저자 공식 정의를 참조했는가?
연습문제 (문제만 — 정답은 부록 D)
-
통합. 1장의 "필수 결합 vs 우연 결합" 구분과 10장의 "결합 균형" 모델은 어떤 관계인가? 필수 결합의 균형 포인트를 10장 언어로 설명하라.
-
비교. 5장(모듈 결합 6수준)과 7장(통합 강도 4수준)은 둘 다 결합의 "종류"를 분류한다. 두 모델이 다루는 질문이 어떻게 다른가? 같은 코드를 두 모델로 분류하면 결과가 항상 일치하는가?
-
적용. 이 부록의 §1.5에서 순차적 결합이 "기능 결합 수준의 하위 수준"이라고 설명한다. 이 말이 의미하는 바를 코드 예시를 들어 설명하라.
-
분석. 8장 거리 Q1의 답이 a다. 8장의 study_notes에서 해당 문항을 찾아, 왜 a가 정답인지 거리의 정의와 연결해 한 단락으로 설명하라.
-
메타. 12장 Q1의 답이 c다. 12장에서 c에 해당하는 보기의 내용을 찾아 적고, 그것이 프랙털 기하학과 어떤 관련이 있는지 두 문장으로 설명하라.
최신 동향 (2026-05 기준)
최신 동향 (검증 2026-05-21)
- 학습 과학 연구에서 retrieval practice(인출 연습)의 효과가 지속적으로 확인되고 있다. 객관식보다 서술형 인출이 장기 기억 정착률을 유의미하게 높인다는 메타분석이 축적됐다(Roediger and Butler 계열 후속 연구).
- Anki·FSRS 기반 spaced repetition 알고리즘이 오픈소스 생태계에 확산되어, 오답 간격을 개인화하는 방식이 학습 도구 표준으로 자리잡고 있다.
부록 A. 용어 사전
| 한글 용어 | 원문 영문명 | 의미 |
|---|---|---|
| 객관식 | Multiple choice | 선택지에서 답을 고르는 형식. 인식 기억 테스트 |
| 서술형 | Free recall | 선택지 없이 답을 끄집어내는 형식. 회상 기억 테스트 |
| 자기 점검 | Self-assessment | 학습 후 이해 수준을 스스로 확인 |
| 간격 반복 | Spaced Repetition | 오답 항목을 점점 늘어나는 간격으로 재시도 |
| 인식 | Recognition | 보기 중 정답을 알아보는 기억 방식 |
| 회상 | Recall | 힌트 없이 정답을 스스로 끄집어내는 기억 방식 |
부록 B. 객관식 vs 서술형 비교
| 구분 | 객관식 | 서술형 |
|---|---|---|
| 기억 유형 | 인식(recognition) | 회상(recall) |
| 학습 효과 | 자기 점검용 | 장기 기억 정착 |
| 시간 | 짧음 | 김 |
| 난이도 | 낮음 (힌트 있음) | 높음 (힌트 없음) |
| 권장 시점 | 1회독 직후 | 2~7일 후 |
| 이 책 활용 | 이 부록 Appendix C | 각 챕터 study_notes 부록 D |
핵심 통찰: 객관식에서 맞혔더라도 서술형으로 설명하지 못하면 진짜 안다고 보기 어렵다. 객관식은 자신감 보정용, 서술형은 실력 확인용이다.
부록 C. 참고 자료
| 자료 | 링크 |
|---|---|
| 책 공식 (제이펍) | https://www.jpub.kr/ |
| 원서 출판사 — Manning | https://www.manning.com/books/balancing-coupling-in-software-design |
| FSRS 간격반복 알고리즘 | https://github.com/open-spaced-repetition/fsrs4anki |
부록 D. 연습문제 풀이
-
(통합) 1장의 필수 결합은 시스템 목적상 없애면 안 되는 연결이고, 10장의 결합 균형은 필수 결합을 어느 수준까지 허용할 것인가를 균형 매트릭스로 결정하는 틀이다. 즉 10장은 1장이 "관리해야 한다"고 한 필수 결합의 적정 균형점을 찾는 방법론이다. 1장이 방향을 잡고, 10장이 정량화 도구를 제공한다.
-
(비교) 5장은 어떤 방식으로 결합됐나(내부 침범 vs 데이터만 교환 등)를 묻고, 7장은 결합 인터페이스가 어떤 종류의 지식을 공유하나(계약/모델/기능/침입)를 묻는다. 같은 코드라도 5장 관점(방식)과 7장 관점(지식 유형)은 직교할 수 있어 항상 일치하지 않는다. 예: 스탬프 결합(5장)이 모델 결합(7장)에도 해당하지만, 계약 결합(7장)은 데이터 결합(5장)에 대응한다.
-
(적용) 순차적 결합은 메서드 A → B → C를 특정 순서로만 호출해야 하는 상황이다. 예를 들어 결제 처리에서 주문 검증 후 재고 확인 후 결제를 실행해야 하면, 이 세 기능은 실행 순서라는 지식을 공유한다. 이는 밀접하게 관련된 비즈니스 기능(결제 완료)을 구현하므로 기능 결합의 하위 수준으로 분류한다. 순서가 비즈니스 규칙이 아니라 우연한 구현 의존성이라면 설계 개선이 필요하다.
-
(분석) 자기 풀이 과제 — 8장 study_notes §8.1~8.2를 읽고 Q1 문항을 확인한 후 a가 정답인 이유를 거리의 정의와 연결해 직접 설명한다.
-
(메타) 자기 풀이 과제 — 12장 study_notes에서 Q1 선택지 c의 내용을 찾고 프랙털 모듈성 원칙과 연결해 설명한다.
클릭하거나 Space를 눌러 뒤집기